In applications in consumer and communication electronics, the possibility of manipulating the signal spectra by frequency-selectively increasing or decreasing signal intensities is desirable, such as, for example, for equalizer functionalities or echo suppression. In connection with audio coding methods which are based on spectrally decomposing the input signal, it seems to be obvious to correspondingly amplify and/or attenuate the decoded spectral components (subband samples and/or transform coefficients) by means of multiplication by amplification factors which may be temporally alterable. The filter banks used here, however, usually have real values and involve critical sampling. Consequently, the subband signals contain aliasing components which, however, compensate one another with a decomposition (analysis) and merging (synthesis) performed directly one after the other, but not after a manipulation described above. The result may be audible interferences, such as, for example, by amplitude modulation.
FIG. 5 shows a filter bank system comprising an analysis filter bank 50 and a synthesis filter bank 51. A discrete-time signal x(n) is fed to a number of N bandpass filters 53 to obtain bandpass signals decimated by one decimator 54 per filter bank channel. The decimated bandpass signals x0(m) to xN−1(m) are then fed to an equalizer stage 55, wherein a special weighting coefficient g0, g1, . . . , gN−1 is associated to each bandpass signal. The weighted bandpass signals y0 to yN−1 are then each fed to an interpolator 56 and filtered by a respective synthesis filter g0, g1, . . . , gN−1 57. The filtered signals are then added by means of an adder 58 to obtain the output signal y(n) at an output 59 of the filter bank. The signal y(n) is identical to the signal x(n) when all the amplification factors g0, g1, . . . , gN−1=1 and when the filters 53 and 57 are adjusted such that the filter bank is of a perfectly reconstructing characteristic.
It is to be pointed out that the filters h0 are typically cosine-modulated versions of a prototype low-pass filter and that the synthesis filters g0, g1, . . . , gN−1 are also correspondingly modulated versions of a prototype filter, wherein a filter gi is matched to a filter hi so that no artefacts are introduced by filtering.
There are filter banks comprising, for example, 20 filter bank channels, such that 20 samples of the signal x(n) result in one sample of a subband signal xi each. In this case, the filter bank is referred to as being maximally decimated. Typically, filter banks are realized by numerically efficient mathematical methods such that the filtering occurring in each channel and subsequent decimating are performed in one processing step so that there is no undecimated signal anywhere. Alternative implementations, however, are also known and are implemented depending on the requirements.
When such a filter bank has very many channels, such as, for example, 1024 channels, this represents a transform. The transform rule so to speak implements filtering and decimating “at one strike”. An MDCT having 1024 samples may thus be described by the analysis filter bank part 50 in FIG. 5, wherein N in this case would be 1024 and a single sample of a “subband signal” would be generated per block of samples fed to such a transform. The time form of a subband signal would then result if there were several MDCT blocks of spectral coefficients and if the value of the MDCT coefficients in the subsequent blocks for a frequency index were taken as a time signal. Subsequently, whenever subbands and subband values are mentioned, both subband filtering and a transform are meant, without explicitly pointing out every time that a transform represents maximally decimated subband filtering, wherein the number of channels N equals the number of transform coefficients.
The critical sampling of the filter bank signals used has the result that bandpass filters have an overlapping region, i.e. that exemplarily the upper half of the pass region of the filter h0 overlaps the lower half of the neighboring filter h1. At the same time, the upper region of the filter h1(n) overlaps the lower region of the next filter h2(n). If there is a signal component in this overlapping region, both the subband signal x0(m) and the subband signal x1(m) will have information on this signal component. If both subbands are amplified identically by the amplification factors g0 and g1, that is both amplification factors are equal, the aliasing will be cleared up again by the analysis filters g0, g1 and the subsequent addition of the output signals of the filters g0 and g1 so that the output signal y(n) is free of artefacts. However, if the two signals x0, x1 are amplified differently, the portion of the signal components in the overlapping region will also be amplified differently, the result of which is that the receive signal y(n) has more aliasing since the synthesis filter bank “has not expected” a different weighting for the two overlapping filters.
Such artefacts can be avoided by using complex-value filter banks which, however, do not comprise critical sampling and are thus not suitable for encoding. On the other hand, such complex-value filter banks are used in post-processing units, such as, for example, in bandwidth extension (SBR) and in parametric multi-channel encoding (BCC/EBCC).
One possible but expensive solution for this problem is offered by real-value synthesis filtering including subsequent complex-value analysis, manipulation and complex-value synthesis. The implementation expenses of this approach can be reduced considerably by approximating the sequential application of real-value synthesis and complex-value analysis by so-called multiband filtering for generating the imaginary parts (“r2i”) that may be used. After a corresponding re-conversion into real parts (“i2r”), the conventional real-value synthesis can be applied.
Such a complicated solution of the aliasing problem using a complex filter bank implementation is shown in FIG. 6. The real signal present in a subband representation is converted to a real time signal by means of a real synthesis filter bank, as is illustrated in FIG. 6 as output signal 61 of the real synthesis filter bank 60. This real time signal 61 is then fed to a complex analysis filter bank 62 to obtain complex-value subband signals 63. These complex subband signals 63 are then fed to a manipulation stage 64 which receives the weighting factors ck and/or weighting factors gi of FIG. 5 and which may be set up in the same way as the equalizer stage 55 of FIG. 5. At the output of the manipulation stage 64, there are manipulated complex-value subband signals 65 which are then converted to an output signal 67 which is again a real signal by means of a complex synthesis filter bank 66. In order to obtain a real signal 67, in the complex synthesis filter bank 66, a real part is formed either before adding, which may be identical to the adding of the adder 58 of FIG. 5, or a real part is formed after the addition 58. The imaginary part is simply discarded. The processing by means of the complex analysis filter bank/synthesis filter bank device, however, ensures that there are no more aliasing interferences in the output signal 67 caused by a different manipulation of neighboring subbands.
However, this solution is, as has been mentioned, very complicated since, in contrast to a direct manipulation of FIG. 5, an additional complex analysis filter bank and an additional complex synthesis filter bank may be used, these filter banks being complicated from a calculating point of view and resulting in a delay since the analysis filters and/or synthesis filters comprise considerable filter lengths which may really be in a range of more than 30 filter taps per filter bank, i.e. may be on both the analysis side and the synthesis side. On the other hand, no aliasing is introduced.
A solution which is less complicated is the multiband filtering shown in FIG. 7, where temporally and/or frequency-neighboring subband signals are united such that the processing stages 62, 66 of FIG. 6 are no longer required but replaced by the r2i and i2r blocks, respectively, of FIG. 7. The manipulation by the manipulation stages 64 or 55 would thus take place in the complex representation, i.e. between stages 70 and 71 at 72 in FIG. 7.
In a real-to-complex (r2c) conversion, the series connection of the real-value synthesis filter bank and the complex-value analysis filter bank has been approximated. Here, an imaginary part for each real subband sample is formed by overlaying three filter output signals. The three filters are each applied in the respective subband and the two neighboring bands.
Correspondingly, the conversion from complex to real (c2r) approximates the series connection of the complex-value synthesis filter bank and the real-value analysis filter bank. Here, the real part is formed as a mean value of the original real subband sample and the overlaying of three filter output signals. The three filters are each applied to the imaginary parts in the respective subband and in the two neighboring bands.
The series connection of r2c and c2r has to reconstruct the original subband signal as precisely as possible to avoid audible interferences in the output signal. Thus, the corresponding filters may have relatively great lengths.
Such a multiband filtering which can be applied in an advantageous manner is disclosed in German patent DE 102 34 130 B3. A filter bank device for generating a complex spectral representation of a discrete-time signal includes means for generating a block-wise real-value spectral representation of the discrete-time signal, the spectral representation comprising temporally successive blocks, each block comprising a set of real spectral coefficients. Additionally, means for post-processing the block-wise real-value spectral representation is provided to obtain a block-wise complex approximated spectral representation comprising successive blocks, each block comprising a set of complex approximated spectral coefficients, wherein a complex approximated spectral coefficient may be represented by a first sub-spectral coefficient and a second sub-spectral coefficient, wherein at least either the first or the second sub-spectral coefficient can be established by combining at least two real spectral coefficients. The first sub-spectral coefficient is a real part of the complex approximated spectral coefficient and the second sub-spectral coefficient is an imaginary part of the complex approximated spectral coefficient. The combination is a linear combination and the means for post-processing is implemented to combine, for determining a complex spectral coefficient of a certain frequency, a real spectral coefficient of the frequency and a real spectral coefficient of a neighboring higher or lower frequency or a corresponding real spectral coefficient of a current block, a temporally preceding block or a temporally successive block.
This procedure is of disadvantage in that relatively long filters may be used to obtain a representation free of aliasing, in particular in the case that there is no different weighting in two neighboring subbands, but so to speak the “benign” case that both subbands are weighted equally. If too short filters are used, aliasing will occur also in the benign case, which is unacceptable and results in great filter lengths in blocks r2i 70 and/or i2r 71 in FIG. 7. Great filter lengths, however, at the same time mean calculating complexity and, in particular, a great delay, which is also undesirable for certain applications.